class ValidationUtils {
  /**
   * 验证邮箱格式
   * @param {string} email - 邮箱地址
   * @returns {boolean} 是否有效
   */
  static isValidEmail(email: string): boolean {
    const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
    return regex.test(email)
  }

  /**
   * 验证手机号码格式
   * @param {string} phone - 手机号码
   * @returns {boolean} 是否有效
   */
  static isValidPhone(phone: string): boolean {
    const regex = /^\d{10}$/ // 根据具体需求调整正则
    return regex.test(phone)
  }

  /**
   * 验证密码强度
   * @param {string} password - 密码
   * @returns {boolean} 是否强密码
   */
  static isStrongPassword(password: string): boolean {
    const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/
    return regex.test(password)
  }

  /**
   * 验证是否为有效的URL
   * @param {string} url - URL
   * @returns {boolean} 是否有效
   */
  static isValidURL(url: string): boolean {
    const regex = /^(https?:\/\/)?([^\s$.?#].[^\s]*)$/
    return regex.test(url)
  }

  /**
   * 验证是否为有效的日期格式
   * @param {string} date - 日期字符串
   * @returns {boolean} 是否有效
   */
  static isValidDate(date: string): boolean {
    return !isNaN(Date.parse(date))
  }
}

export default ValidationUtils
